package com.gzyj.jtt808.v2011.enums;

import lombok.Getter;

/**
 * 状态位
 *
 * @author lhj
 */
@Getter
public enum StatusBit {
    ACC开(1, "ACC开"),
    定位(2, "定位"),
    南纬(1 << 2, "南纬"),
    西经(1 << 3, "西经"),
    停运状态(1 << 4, "停运状态"),
    经纬度已经保密插件加密(1 << 5, "经纬度已经保密插件加密"),

    保留(1 << 6, "保留"),
    保留1(1 << 7, "保留"),
    保留2(1 << 8, "保留"),
    保留3(1<<9, "保留"),

    车辆油路断开(1 << 10, "车辆油路断开"),
    车辆电路断开(1 << 11, "车辆电路断开"),
    车门加锁(1 << 12, "车门加锁"),

    保留4(1 << 13, "保留"),
    保留5(1 << 14, "保留"),
    保留6(1 << 15, "保留"),
    保留7(1 << 16, "保留"),
    保留8(1 << 17, "保留"),
    保留9(1 << 18, "保留"),
    保留10(1 << 19, "保留"),
    保留11(1 << 20, "保留"),
    保留12(1 << 21, "保留"),
    保留13(1 << 22, "保留"),
    保留14(1 << 23, "保留"),
    保留15(1 << 24, "保留"),
    保留16(1 << 25, "保留"),
    保留17(1 << 26, "保留"),
    保留18(1 << 27, "保留"),
    保留19(1 << 28, "保留"),
    保留20(1 << 29, "保留"),
    保留21(1 << 30, "保留"),
    保留22(1 << 31, "保留"),
    ;


    private int code;
    private String name;

    StatusBit(int code, String name) {
        this.code = code;
        this.name = name;
    }

    public static StatusBit find(int code) {
        for (StatusBit val : StatusBit.values()) {

            if (val.getCode() == code) {

                return val;
            }
        }
        return null;
    }
}
